# -*- coding:utf-8 -*-
# 集合的常见操作
# 1、增加数据
# 给集合添加元素
# add()
# set1 = {10, 20, 30}
# set1.add(40)    # 数字添加在开头
# # 集合有去重功能，如果集合内追加的数据，已存在，不进行操作
# set1.add(10)
# print(set1)

# set2 = {"张三", "李四", "王五", "赵六"}
# set2.add("坤哥")    # 无顺序
# print(set2)


# # 追加的数据是序列
# # update():将序列中的每一个元素添加到集合中
# set3 = {"张三", "李四", "王五", "赵六"}
# set3.update(["小宋", "篮球"])
# print(set3)


# 2、删除数据
# 删除集合中的指定数据，如果数据不存在则报错。
# remove()
# set1 = {"张三", "李四", "王五", "赵六"}
# set1.remove("夏松")
# print(set1)   # 数据不存在报错

# 删除集合中的指定数据，如果数据不存在也不会报错。
# discard()
# set1 = {"张三", "李四", "王五", "赵六"}
# set1.discard("夏松")
# print(set1)   # 数据不存在,也不报错

# 随机删除集合中的一个数据，并返回这个数据
# pop()
# set1 = {"张三", "李四", "王五", "赵六"}
# print(set1.pop())     # 随机删除一个数
# print(set1)

# 3、查找数据
# in：判断数据在集合序列
# not in：判断数据不在集合序列


set1 = {"张三", "李四", "王五", "赵六"}
print(id(set1))
set1.add("小宋")
print(id(set1))

# 总结：元组、字符串是不可变类型   -- 增加数据地址改变
# 集合和列表是可变类型           -- 增加数据地址不改变
